1. Field of the Invention
The present invention generally relates to interfaces for communicating data between personal computers and external devices. More specifically, the invention relates to integrated circuit interfaces.
2. Description of the Related Art
The integrated circuit to integrated circuit ("I2C", pronounced "eye--square--see") interface is a two wire, synchronous, serial interface that was developed by Philips Electronics so that integrated circuits (IC's) could talk to one another and transfer information between IC's without signal degradation. The I2C interface is used extensively in micro controller--based professional, consumer and telecommunications applications as a control, diagnostic and power management bus. The I2C interface utilizes a simple, bi-directional 2-wire, serial data (SDA) and serial clock (SCL) bus for inter--IC control. Each of the devices containing integrated circuits is recognized by the I2C bus with a unique address, and can operate as either a receiver - homing device, or as a transmitter with the capability to both receive and send information.
Today, the I2C bus can operate at up to 400 Kbits per second, and has 19 bit addressing. Its current implementation allows level shifting, and fully bi-directional data transfer between I2C devices operating from different supply voltages. Ten bits are used for the external device addresses, allowing for up to 1,024 additional addresses to prevent problems associated with allocation of share addresses as the number of I2C devices rapidly expands. The remaining nine bits are used as command bits. The I2C interface specification is publicly available from Phillips Electronics and can be found either at the Phillips Electronics Web Site, www-US2.semiconductors.phillips.com/I2C/, or can be obtained from Phillips by writing to them and requesting a copy. The I2C interface specification is specifically incorporated herein by reference.
While the I2C interface provides an elegant and simple solution for interfacing integrated circuits to one another, when it is necessary to interface an external I2C device with a personal computer, additional hardware is typically needed which is expensive, cumbersome to use and not versatile. Thus, the integrated circuit art has not heretofore created a solution for simple and effective I2C interfacing between a personal computer and any I2C device.